#ifndef MYLOZENGE_H
#define MYLOZENGE_H
#include "MyShape.h"

class MyLozenge : public MyShape
{
private:
	char* _stroke;
	char* _fill;
	float _strokeWidth;
	int _x;
	int _y;
	int _width;
	int _height;
public:
	//Get methods
	int GetX() { return this->_x; }
	int GetY() { return this->_y; }
	int GetWidth() { return this->_width; }
	int GetHeight() { return this->_height; }
	//Default constructor
	MyLozenge() {
		
	}
	//Parameterized constructors
	MyLozenge(char stroke[], char fill[], float strokeWidth, int x, int y, int width, int height) {
		_stroke = stroke;
		_fill = fill;
		_strokeWidth = strokeWidth;
		_x = x;
		_y = y;
		_width = width;
		_height = height;
	}
	//Override methods
	void Draw() {
		this->GetMyGraphic()->DrawLine(_stroke, _strokeWidth, _x, _y+_height/2, _x+_width/2, _y);
		this->GetMyGraphic()->DrawLine(_stroke, _strokeWidth, _x, _y+_height/2, _x+_width/2, _y+_height);
		this->GetMyGraphic()->DrawLine(_stroke, _strokeWidth, _x+_width, _y+_height/2, _x+_width/2, _y);
		this->GetMyGraphic()->DrawLine(_stroke, _strokeWidth, _x+_width, _y+_height/2, _x+_width/2, _y+_height);
		
		if(_fill != NULL) {
			//this->GetMyGraphic()->FillRectangle(_fill, _x, _y, _width, _height);
		}
	}
	string ToString() {
		//To be implemented
		string s = "";		
		return s;
	}
	string GetName() {
		return "MyLozenge";
	}
	//Destructor
	~MyLozenge() {
		//delete _stroke;
		//delete _fill;
	}
};
#endif